package com.yztctech.android11_07_customdialog;

import android.app.Dialog;
import android.content.Context;
import android.view.View;

/**
 *
 * */
public abstract class OutDialog extends Dialog{//自定义的退出时弹出的对话框，需要布局加载器加载

	public OutDialog(Context context) {//--------必须实现的一个构造方法，参数是上下文 activity对象
		//使用自定义Dialog样式 --------------------------》样式也是自己设置的，当然也可以不设置，一些无关紧要的东西，只是为了好看，关键是布局
		super(context, R.style.customDialogStyle);
		
		//指定布局
		setContentView(R.layout.view_out_dialog);//------》将自定义的布局资源xml文件 关联到本类中，可以生成对象
		
		//确定
		findViewById(R.id.ok_button).setOnClickListener(new View.OnClickListener() {
			public void onClick(View paramView) {//=======?这里有上下文，可以直接finish 这么麻烦干什么？
				out();//自己定义 另类的回调机制，方法在这里调用，但是实现却是在mainactivity中，可以用其中的控件；不需要借口，直接使本类抽象的回调机制
			}
		});
		
		//取消
		findViewById(R.id.cancel_button).setOnClickListener(new View.OnClickListener() {
			public void onClick(View paramView) {
				cancel();
			}
		});
		
		//点击外部不可消失
		//setCancelable(false);
	}

	abstract void out();//抽象方法 所以类需要变成抽象类，当实例化本类对象的时候，万物皆对象，控件，布局，dialog都是得有对象，必须实现本类抽象方法
	
}
